<?php

namespace SummoIngenio\Sai\MatematicaBundle\Utility\Juego\P0;
use SummoIngenio\Sai\MatematicaBundle\Utility\Juego\JuegoBase;

/**
 * Description of PX
 *
 * @author SVM
 */
class P01071 extends JuegoBase {

  public function init() {
    $cn = 0;
    $this->montos = array();
    $this->op =array(0,0,0,0,0,0,0,0,0,0,0,0);
    while($cn != 3){
        $n = $this->generar_monto();
        if(!in_array($n,$this->montos)){
            array_push($this->montos, $n);
            $cn++;
        }
    }
    $this->pina = rand(0,2);
  }
  public function generar_monto(){
    $this->banano = 0;
    $this->naranja = 0;   
    $this->pina = 0;
    $this->manzana = 0;      
    $this->pina = rand(0,2);      
    if($this->pina<=1){
        $this->manzana = rand(1,2);
        if($this->manzana<=1){
            $this->banano = rand(0,1);
            if($this->banano ==0 ){
                $this->naranja = rand(0,1);
            }
        }
    }else{
        if($this->pina==0){
         $this->manzana = rand(1,3);
         if($this->manzana<3){
             $this->banano = rand(0,3-$this->manzana);
             if($this->banano ==0){
                 $this->naranja = rand(1,3-$this->manzana);
             }
             if($this->banano ==3){
                 $this->naranja = rand(0,1);
             }
         }
        }
    }
    return 8*$this->pina+6*$this->manzana+5*$this->banano+5*$this->naranja;
  }
  public function getPregunta() {
    return $this->render('P0/P01071/pregunta', array());
  }
  
  public function getHtmlDesactivado() {
    return $this->render('P0/P01071/desactivado', array(
      'montos'     => $this->montos,
    ));
  }
  
  public function getHtmlJugable() {
    return $this->render('P0/P01071/jugable', array(
      'montos'     => $this->montos,
    ));
  }
  
  public function getHtmlResuelto() {
    return $this->render('P0/P01071/resuelto', array(
      'montos'     => $this->montos,
      'op' => $this->op,
    ));
  }
  
  public function verificarRespuesta($respuestaUsuario) {
    $resp = true;
    $cantidad1 = "[".$respuestaUsuario->get('valor1')."*6+".$respuestaUsuario->get('valor2')."*5+".$respuestaUsuario->get('valor3')."*8+".$respuestaUsuario->get('valor4')."*5],"; 
    $cantidad2 = "[".$respuestaUsuario->get('valor5')."*6+".$respuestaUsuario->get('valor6')."*5+".$respuestaUsuario->get('valor7')."*8+".$respuestaUsuario->get('valor8')."*5],";     
    $cantidad3 = "[".$respuestaUsuario->get('valor9')."*6+".$respuestaUsuario->get('valor10')."*5+".$respuestaUsuario->get('valor11')."*8+".$respuestaUsuario->get('valor12')."*5]";         
    $cantidad = $cantidad1.$cantidad2.$cantidad3;    
    
    if($this->montos[0]!=($respuestaUsuario->get('valor1')*6+$respuestaUsuario->get('valor2')*5+$respuestaUsuario->get('valor3')*8+$respuestaUsuario->get('valor4')*5)){
        $resp = false;
    }else{
        $this->op[0] = $respuestaUsuario->get('valor1');
        $this->op[1] = $respuestaUsuario->get('valor2');
        $this->op[2] = $respuestaUsuario->get('valor3');
        $this->op[3] = $respuestaUsuario->get('valor4'); 
    }
    if($this->montos[1]!=($respuestaUsuario->get('valor5')*6+$respuestaUsuario->get('valor6')*5+$respuestaUsuario->get('valor7')*8+$respuestaUsuario->get('valor8')*5)){
        $resp = false;
    }else{
        $this->op[4] = $respuestaUsuario->get('valor5');
        $this->op[5] = $respuestaUsuario->get('valor6');
        $this->op[6] = $respuestaUsuario->get('valor7');
        $this->op[7] = $respuestaUsuario->get('valor8');                 
    }
    if($this->montos[2]!=($respuestaUsuario->get('valor9')*6+$respuestaUsuario->get('valor10')*5+$respuestaUsuario->get('valor11')*8+$respuestaUsuario->get('valor12')*5)){
        $resp = false;
    }else{
        $this->op[8] = $respuestaUsuario->get('valor9'); 
        $this->op[9] = $respuestaUsuario->get('valor10');
        $this->op[10] = $respuestaUsuario->get('valor11');
        $this->op[11] = $respuestaUsuario->get('valor12');        
    }
    $aRetornar = array(
      'respuesta' =>  $cantidad,
      'correcta'  =>  $resp,
    );
    return $aRetornar;
  }

  public function getJavascript() {
    $aRetornar = array(
      "tipo"      => "archivo",
      "contenido" => "P0/P01071.js"
    );
    return $aRetornar;
  }

  public function getCss() {
    $aRetornar = array(
      "tipo"      => "archivo",
      "contenido" => "P0/P01071.css"
    );
    return $aRetornar;
  }

  public function __sleep() {
    return array(
      'montos',
        'op',
    );
  }
}